package com.java.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.List;

import lombok.Data;
import javax.validation.constraints.NotBlank;

/**
 * 用户
 * 
 * @author jl
 * @since 2020-10-09 09:30:58
 */
@Data
@TableName("user")
public class User implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
    @TableId(type = IdType.INPUT)
    private String id;
	/**
	 * 登陆名
	 */
    @NotBlank(message = "登陆名不能为空")
    private String loginName;
	/**
	 * 昵称
	 */
    private String name;
	/**
	 * 密码
	 */
    @NotBlank(message = "密码不能为空")
    private String password;
	/**
	 * 验证码
	 */
	@TableField(exist = false)
	private String imageCode;
	/**
	 * 图片验证码token
	 */
	@TableField(exist = false)
    private String imageCodeToken;
	/**
	 * 登录凭证
	 */
	@TableField(exist = false)
    private String token;
	/**
	 * 所有资源,用于前端界面控制
	 */
	@TableField(exist = false)
	private List<Resource> resources;
	/**
	 * 所有资源中的请求,用于后端接口拦截
	 */
	@TableField(exist = false)
	private HashSet<String> requests;

}
